package cn.silver.module.message.service.impl;

import cn.silver.framework.mybatis.service.impl.BaseServiceImpl;
import cn.silver.module.message.bean.TemplateBean;
import cn.silver.module.message.domain.MsgTemplateContent;
import cn.silver.module.message.mapper.MsgTemplateContentMapper;
import cn.silver.module.message.param.TemplateParam;
import cn.silver.module.message.service.IMsgTemplateContentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * 消息模板参数Service业务层处理
 *
 * @author hb
 * @date 2022-07-01
 */
@Slf4j
@Service
public class MsgTemplateContentServiceImpl extends BaseServiceImpl<MsgTemplateContentMapper, MsgTemplateContent, TemplateParam, TemplateBean>
        implements IMsgTemplateContentService {

//    @Override
//    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
//    public void saveMessage(String templateId, JSONObject message) {
//        List<SysMsgTemplateContent> messages = this.baseMapper.selectList(new QueryWrapper<SysMsgTemplateContent>().eq("template_id", templateId));
//        Map<String, SysMsgTemplateContent> messageMap = messages.stream().collect(Collectors.toMap(SysMsgTemplateContent::getChannel, Function.identity()));
//        message.entrySet().stream().forEach(entry -> {
//            SysMsgTemplateContent cur;
//            if (messageMap.containsKey(entry.getKey())) {
//                cur = messageMap.get(entry.getKey());
//                cur.setContent(entry.getValue().toString());
//                this.baseMapper.update(cur);
//            } else {
//                cur = new SysMsgTemplateContent(templateId, entry.getKey(), entry.getValue().toString());
//                cur.preInsert();
//                this.baseMapper.insert(cur);
//            }
//        });
//    }
}
